function GM:PlayerCanPickupWeapon( pl, class )
	if pl:IsArrested() then return false end
	return true;
end

function GM:GravGunPunt( pl, ent )
	return false
end

function DefaultCollision( pl )
	pl:SetCollisionGroup( 5 )
end

function Collide(pl)
	pl:SetCollisionGroup(5)
end

function GM:CanTool(pl, tr, toolmode)

	if not pl:IsAdmin() then
		pl:Kill()
		return false
	end
		
	if (tr.Entity:GetClass() == "prop_ragdoll" and !ply:IsAdmin()) then
		return false
	end
	
	if string.find(tr.Entity:GetClass(), "func_") or
		string.find(tr.Entity:GetClass(), "prop_door") or
		string.find(tr.Entity:GetClass(), "prop_s") or
		string.find(tr.Entity:GetClass(), "sent_") or
		string.find(tr.Entity:GetClass(), "spawned") or
		string.find(tr.Entity:GetClass(), "env") or
		string.find(tr.Entity:GetClass(), "cse") or
		string.find(tr.Entity:GetClass(), "gun") or
		string.find(tr.Entity:GetClass(), "drug") or
		string.find(tr.Entity:GetClass(), "weapon") or
		string.find(tr.Entity:GetClass(), "money") then
		if (tr.Entity:GetClass() != "sent_keypad" and tr.Entity:GetClass() != "sent_keypad_wire") then
			return false
		else
			return true
		end
	else
		return true
	end
end


function GM:ScalePlayerDamage( pl, hitgroup, dmginfo )
	if ( 	hitgroup == HITGROUP_HEAD  ) then
		dmginfo:ScaleDamage( 0.5 )
	
	 elseif ( 	hitgroup == HITGROUP_CHEST || 
		hitgroup == HITGROUP_GENERIC ) then
	 
		dmginfo:ScaleDamage( 0.25 )
	 
	 elseif ( hitgroup == HITGROUP_LEFTARM ||
		 hitgroup == HITGROUP_RIGHTARM || 
		 hitgroup == HITGROUP_LEFTLEG ||
		 hitgroup == HITGROUP_LEFTLEG ||
		 hitgroup == HITGROUP_GEAR ) then
	 
		dmginfo:ScaleDamage( 0.125 )
	 end
end

function GM:PlayerDeathSound()
	return true // disables the BEEP BEEP sound
end

function GM:CanPlayerSuicide( pl )
	Notify(pl, 4, 4, "If you are stuck use /sleep or ask an admin to move you if you are trapped.")
	return false;
end